import axios from "axios";
import store from '@/store/index'
import router from '@/router/index'


// 导出基本请求地址
export const baseURL = 'http://pcapi-xiaotuxian-front-devtest.itheima.net/'

const server = axios.create({
    baseURL,
    // 请求延时
    timeout: 5000
})


// 请求拦截器
server.interceptors.request.use(function (config) {
    // 查询存储的token
    return config;
}, function (error) {

    return Promise.reject(error);
});


// 响应拦截器
server.interceptors.response.use(function (res) {
    return res.data
}, function (err) {
    // 401 状态码，进入该函数
    if (err.response && err.response.status === 401) {
        // 如果出现错误 清空本地存储的用户信息
        store.commit('user/setUser', {})
        // 当前路由地址
        // 组件里头：`/user?a=10` $route.path === /user  $route.fullPath === /user?a=10
        // js模块中：router.currentRoute.value.fullPath 就是当前路由地址，router.currentRoute 是ref响应式数据
        const fullPath = encodeURIComponent(router.currentRoute.value.fullPath)
        console.log(router.currentRoute.value.fullPath);
        console.log(fullPath);
        // encodeURIComponent 转换uri编码，防止解析地址出问题
        router.push('/login?redirectUrl=' + fullPath)
    }
    return Promise.reject(err)
})


export default server
